﻿using System.Collections.ObjectModel;
using Renci.Data.Interop.OpenGIS.Smil20;
namespace Renci.Data.Interop.OpenGIS.Gml
{
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(GraphStyleType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(TopologyStyleType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(LabelStyleType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(GeometryStyleType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml")]
    public class BaseStyleDescriptorType : AbstractGMLType
    {
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("spatialResolution")]
        public ScaleType SpatialResolution { get; set; }

        private Collection<StyleVariationType> _styleVariations = new Collection<StyleVariationType>();
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("styleVariation")]
        public Collection<StyleVariationType> StyleVariations 
        {
            get
            {
                return this._styleVariations;
            }
        }

        private Collection<AnimateType> _animates = new Collection<AnimateType>();
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("animate", Namespace = "http://www.w3.org/2001/SMIL20/")]
        public Collection<AnimateType> Animates 
        {
            get
            {
                return this._animates;
            }
        }

        private Collection<AnimateMotionType> _animateMotions = new Collection<AnimateMotionType>();
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("animateMotion", Namespace = "http://www.w3.org/2001/SMIL20/")]
        public Collection<AnimateMotionType> AnimateMotions 
        {
            get
            {
                return this._animateMotions;
            }
        }

        private Collection<AnimateColorType> _animateColor = new Collection<AnimateColorType>();
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("animateColor", Namespace = "http://www.w3.org/2001/SMIL20/")]
        public Collection<AnimateColorType> AnimateColor 
        {
            get
            {
                return this._animateColor;
            }
        }

        private Collection<SetType> _set = new Collection<SetType>();
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("set", Namespace = "http://www.w3.org/2001/SMIL20/")]
        public Collection<SetType> Set 
        {
            get
            {
                return this._set;
            }
        }
    }
}
